// 定位
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

// 层深
@for $i from 1 through 10 {
  .zIndex-#{$i} {
    z-index: $i;
  }
}

// 字体加粗
@for $i from 1 through 9 {
  .font-w-#{100*$i} {
    font-weight: 100 * $i;
  }
}

// 文本对齐
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

// 文本溢出省略
.text-ellipsis-1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.text-ellipsis-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

// flex 横向
.flex-start {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-around {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.flex-evenly {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

// flex 纵向
.flex-tb-start {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.flex-tb-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flex-tb-end {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.flex-tb-between {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.flex-tb-around {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.flex-tb-evenly {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

// flex 单独
.flex {
  display: flex;
}

.flex-lr {
  flex-direction: row;
}

.flex-rl {
  flex-direction: row-reverse;
}

.flex-tb {
  flex-direction: column;
}

.flex-bt {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-center {
  align-items: center;
}

.align-baseline {
  align-items: baseline;
}

.align-stretch {
  align-items: stretch;
}

.flex-1 {
  flex: 1 1 0;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-initial {
  flex: 0 1 auto;
}

.flex-none {
  flex: none;
}

.flex-grow-0 {
  flex-grow: 0;
}

.flex-grow {
  flex-grow: 1;
}

// gap 间隔
@for $i from 1 through 50 {
  .c-gap-#{$i} {
    column-gap: $i + px;
  }

  .r-gap-#{$i} {
    row-gap: $i + px;
  }
}

// hover 样式
.pointer {
  cursor: pointer;
}

// 字体大小
@for $i from 12 through 50 {
  .font-s-#{$i} {
    font-size: $i + px;
  }
}

// 文字颜色
.color-333 {
  color: #333;
}

.color-666 {
  color: #666;
}

.color-999 {
  color: #999;
}


// margin & padding
@for $i from 1 through 100 {
  .mt-#{$i} {
    margin-top: $i + px;
  }

  .mb-#{$i} {
    margin-bottom: $i + px;
  }

  .ml-#{$i} {
    margin-left: $i + px;
  }

  .mr-#{$i} {
    margin-right: $i + px;
  }

  .pt-#{$i} {
    padding-top: $i + px;
  }

  .pb-#{$i} {
    padding-bottom: $i + px;
  }

  .pl-#{$i} {
    padding-left: $i + px;
  }

  .pr-#{$i} {
    padding-right: $i + px;
  }
}